package com.ude.pim.controller;

import com.ude.pim.common.R;
import com.ude.pim.dto.CaseDTO;
import com.ude.pim.dto.CaseQueryDTO;
import com.ude.pim.entity.Case;
import com.ude.pim.service.CaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cglib.core.Local;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 专案表	记录专案的信息，包括：	id	名称	难度	专案号	负责人	创建时间	创建人	预计完成时间	实际完成时间	状态 前端控制器
 * </p>
 *
 * @author yb
 * @since 2023-08-08
 */
@RestController
@RequestMapping("/case")
public class CaseController {
    @Autowired
    private CaseService caseService;

    @GetMapping("/dtoList")
    public R<List<CaseDTO>> list(){
        return caseService.getlist();
    }

    @GetMapping("/list")
    public R<List<Case>> getList(){ return R.success(caseService.list()); }

    @GetMapping("/page")
    public R<List<Case>> page(@RequestBody CaseQueryDTO caseQueryDTO){
        return caseService.page(caseQueryDTO);
    }

    @PostMapping
    public R<String> save(@RequestBody Case c) throws Exception {
        return caseService.saveCase(c);
    }

    @PutMapping
    public R<String> update(@RequestBody Case c){
        try {
            caseService.updateById(c);
            return R.success("修改成功");
        } catch (Exception e) {
            return R.error(e.getMessage());
        }
    }

    @DeleteMapping
    public R<String> delete(Long caseId){
        // TODO: 2023/8/8 后面大部分功能完善后再来写这个功能
//        return caseService.delete(caseId);
        return null;
    }

}
